package com.health.service;

import com.health.pojo.domain.ConsultationDO;
import com.health.pojo.domain.ConsultationMessageDO;
import com.health.pojo.dto.*;

import java.lang.Boolean;
import java.util.List;

/**
 * 医患交互管理
 *
 * @author WUYU_MIN
 * @date 2025-04-29 23:51:18
 */
public interface InteractionService {

    /**
     * createConsultation
     *
     * @param consultationCreateDTO 创建咨询会话的入参对象
     * @return
     */
    Boolean createConsultation(ConsultationCreateDTO consultationCreateDTO);

    /**
     * getConsultation
     *
     * @param consultationQueryDTO 查询咨询会话的入参对象
     * @return  咨询会话实体对象
     */
    ConsultationDO getConsultation(ConsultationQueryDTO consultationQueryDTO);

    /**
     * sendMessage
     *
     * @param consultationMessageDTO 发送咨询消息的入参对象
     * @return
     */
    Boolean sendMessage(ConsultationMessageDTO consultationMessageDTO);

    /**
     * receiveMessage
     *
     * @param messageReceiverDTO 接收咨询消息的入参对象
     * @return
     */
    List<ConsultationMessageDO> receiveMessage(MessageReceiverDTO messageReceiverDTO);

    /**
     * getConsultationList 获取对话列表
     *
     * @param comsultationListDTO
     * @return
     */
    List<ConsultationDO> getConsultationList(ComsultationListDTO comsultationListDTO);

    ConsultationDO endConsultation(ConsultationQueryDTO consultationQueryDTO);
}
